Users typically connect to computing resources accessible through the Internet using a domain name of the computing resource. A domain name service (DNS) acts to translate the domain name into an Internet protocol (IP) address of an endpoint to which the user's computer can actually connect. Many websites, web services, and others entities associated with a domain name have multiple possible endpoints to which a user's computer can connect. A DNS server selects an IP address of an endpoint associated with the domain and provides the IP address to the user's computer in a DNS response.
Endpoints periodically fail, are taken offline, or are unavailable for connection. To account for this, the DNS server assigns a time-to-live (TTL) value to the DNS response. The TTL value represents the time during which the provided DNS records, including the endpoint IP addresses, should be considered valid. Conventionally, the TTL value in a DNS response from an authoritative DNS server is static. Endpoints can fail during the time specified by the TTL value, resulting in connection failures. Even when static TTL values are selected to balance between computing resource cost to the DNS server and frequency of failure, both connection failures and unnecessary resource use remain problematic.